/**
 * ProductDownload 业务逻辑
 * @author yanwl
 * @date 2014-08-25
 */
package com.chnbst.bstyun.service;

import java.util.List;
import java.util.Map;

import com.chnbst.bstyun.model.pojo.ProductDownload;
import com.chnbst.bstyun.model.vo.ProductDownloadVo;

public interface ProductDownloadService {
	/**
	 * 删除产品下载
	 * @param productDownloadId 产品下载编号
	 * @return 删除成功返回true，否则返回false
	 */
	boolean deleteProductDownload(Integer productDownloadId);

	/**
	 * 添加产品下载
	 * @param productDownload 产品下载对象
	 * @return 返回自动增量id对象
	 */
	boolean insertProductDownload(ProductDownload productDownload);
	
	/**
	 * 更新产品下载
	 * @param productDownload 产品下载对象
	 * @return 布尔值 成功为true，失败为false
	 */
	boolean updateProductDownload(ProductDownload productDownload);

	/**
	 * 根据产品下载编号查找产品下载
	 * @param productDownloadId 产品下载编号
	 * @return 如果找到返回该产品下载，否则返回空 null
	 */
    ProductDownload selectProductDownloadByProductDownloadId(Integer productDownloadId);

    /**
     * 查询所有产品下载Vo信息
     * @return 返回所有产品下载Vo信息
     */
    List<ProductDownloadVo> selectProductDownloadVos(Map<String, Object> map);
    
    /**
     * 查询下载中的产品总数
     * @return 返回下载中的产品总数
     */
    int selectProductDownloadCount(Map<String, Object> map);
    
    /**
	 * 根据产品编号和下载版本查找产品下载
	 * @param map 产品编号和下载版本
	 * @return 如果找到返回该产品下载，否则返回空 null
	 */
    ProductDownload selectProductDownloadByProductIdAndDownloadWayId(Map<String, Object> map);
}
